package com.gsi.webstore.platform.storefront.capi.basket;

import com.gsi.webstore.platform.storefront.internal.basket.ORMProductConfigurationLineItemBOGSIExtensionImpl;
import com.intershop.beehive.core.capi.businessobject.BusinessObjectExtensionFactory;
import com.intershop.sellside.appbase.b2c.capi.order.ProductConfigurationLineItemBO;

/**
 * Extension factory for gsi specific attributes of the product configuration line item bo
 * 
 * @author Martin Boehmer
 *
 */
public class ProductConfigurationLineItemBOGSIExtensionFactory implements BusinessObjectExtensionFactory<ProductConfigurationLineItemBOGSIExtension, ProductConfigurationLineItemBO>
{

    /*
     * (non-Javadoc)
     * @see com.intershop.beehive.core.capi.businessobject.BusinessObjectExtensionFactory#createExtension(com.intershop.beehive.core.capi.businessobject.BusinessObject)
     */
    @Override
    public ProductConfigurationLineItemBOGSIExtension createExtension(ProductConfigurationLineItemBO bo)
    {
        return new ORMProductConfigurationLineItemBOGSIExtensionImpl(bo);
    }

    /*
     * (non-Javadoc)
     * @see com.intershop.beehive.core.capi.businessobject.BusinessObjectExtensionFactory#getExtensionType()
     */
    @Override
    public Class<ProductConfigurationLineItemBOGSIExtension> getExtensionType()
    {
        return ProductConfigurationLineItemBOGSIExtension.class;
    }

    /*
     * (non-Javadoc)
     * @see com.intershop.beehive.core.capi.businessobject.BusinessObjectExtensionFactory#getExtensionName()
     */
    @Override
    public String getExtensionName()
    {
        return "GSI";
    }

}
